package com.gxa.ssm340.mapper;

import com.gxa.ssm340.entity.dto.ExchangeGoodsDTO;
import com.gxa.ssm340.entity.dto.SubmitPointsDTO;
import com.gxa.ssm340.entity.dto.UserPointsDTO;
import com.gxa.ssm340.entity.pojo.Goods;
import com.gxa.ssm340.entity.pojo.Points;
import com.gxa.ssm340.entity.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PointsCancelMapper {
    /**
     * 手机号查询会员总积分信息
     * @param phone
     * @return UserPointsDTO
     */
    UserPointsDTO selectTotalPointsByPhone(@Param("phone") String phone);

    /**
     * 获取所有的兑换商品
     * @return List<Goods>
     */
    List<Goods> selectAllGood();

    /**
     * 通过商品id查询商品信息
     * @param id
     * @return Goods
     */
    Goods selectGoodsById(Integer id);

    /**
     * 通过会员手机号获取会员全部信息
     * @param phone
     * @return
     */
    User selectByPhone(@Param("phone") String phone);

    /**
     * 添加会员的兑换商品信息
     * @param dto
     * @return
     */
    Integer insertExchangeGood(ExchangeGoodsDTO dto);

    /**
     * 把已兑换的积分、商品信息添加到积分表中
     * @param points
     * @return
     */
    Integer insertPoints(Points points);

    void updateGoodsNum(Goods goods);

    Integer insertSubmitPoints(SubmitPointsDTO dto);
}
